package AjavaGuide;

public class String2Int {
    public int string2Int(String s){
        if (s.length()==0){
            return 0;
        }
        char[] chars = s.toCharArray();
        //  CKG TODO 2023/5/8:  此处的判断很绝妙　既能区分正负　　又能标记是从第一位开始计算还是第二位开始计算
        int flag=0;
        if (chars[0]=='+'){
            flag=1;
        }
        if (chars[0]=='-'){
            flag=2;
        }
        int start=flag==0?0:1;
        //  CKG TODO 2023/5/8: 这块自己不清楚　怎么保存结果　
        int res=0;
        for (int i = start; i <s.length(); i++) {
            if (Character.isDigit(chars[i])){
                int temp=s.charAt(i)-'0';
                res=res*10+temp;
            }
            else {
                return 0;
            }
        }
        return  flag==2?-res:res;
    }

    public static void main(String[] args) {
        String2Int string2Int = new String2Int();
        int i = string2Int.string2Int("-123");
        System.out.println(i);

    }

}
